package com.office.system.domain;

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.office.common.annotation.Excel;
import com.office.common.core.domain.BaseEntity;

/**
 * 报告素材对象 sys_report_material
 */
public class SysReportMaterial extends BaseEntity {
    private static final long serialVersionUID = 1L;

    /** 素材ID */
    private Long materialId;

    /** 素材类型（document文档 meeting会议 code代码） */
    @Excel(name = "素材类型", readConverterExp = "document=文档,meeting=会议,code=代码")
    private String materialType;

    /** 素材标题 */
    @Excel(name = "素材标题")
    private String title;

    /** 素材摘要 */
    @Excel(name = "素材摘要")
    private String summary;

    /** 来源 */
    @Excel(name = "来源")
    private String source;

    /** 素材内容 */
    private String content;

    /** 素材时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "素材时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date materialTime;

    public void setMaterialId(Long materialId) {
        this.materialId = materialId;
    }

    public Long getMaterialId() {
        return materialId;
    }

    public void setMaterialType(String materialType) {
        this.materialType = materialType;
    }

    public String getMaterialType() {
        return materialType;
    }

    public void setTitle(String title) {
        this.title = title;
    }

    public String getTitle() {
        return title;
    }

    public void setSummary(String summary) {
        this.summary = summary;
    }

    public String getSummary() {
        return summary;
    }

    public void setSource(String source) {
        this.source = source;
    }

    public String getSource() {
        return source;
    }

    public void setContent(String content) {
        this.content = content;
    }

    public String getContent() {
        return content;
    }

    public void setMaterialTime(Date materialTime) {
        this.materialTime = materialTime;
    }

    public Date getMaterialTime() {
        return materialTime;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
            .append("materialId", getMaterialId())
            .append("materialType", getMaterialType())
            .append("title", getTitle())
            .append("summary", getSummary())
            .append("source", getSource())
            .append("content", getContent())
            .append("materialTime", getMaterialTime())
            .append("createBy", getCreateBy())
            .append("createTime", getCreateTime())
            .append("updateBy", getUpdateBy())
            .append("updateTime", getUpdateTime())
            .toString();
    }
}
